package com.terrynoya.fight.data.parser.sff
{
	import flash.utils.ByteArray;
	/**
	 * @author acer
	 */
	public class SFFVersion
	{
		public static const SFF_V1:String = "SFF_V1";
		public static const SFF_V2:String = "SFF_V1";
		
		private var _hi:int;
		private var _lo3:int;
		private var _lo2:int;
		private var _lo1:int;
		
		public function SFFVersion(bytes:ByteArray,offset:int):void
		{
			bytes.position = offset;
			_lo3 = bytes.readByte();
			_lo2 = bytes.readByte();
			_lo1 = bytes.readByte();
			_hi = bytes.readByte();
		}

		public function get hi() : int
		{
			return _hi;
		}

		public function set hi(hi : int) : void
		{
			_hi = hi;
		}

		public function get lo3() : int
		{
			return _lo3;
		}

		public function set lo3(lo3 : int) : void
		{
			_lo3 = lo3;
		}

		public function get lo2() : int
		{
			return _lo2;
		}

		public function set lo2(lo2 : int) : void
		{
			_lo2 = lo2;
		}

		public function get lo1() : int
		{
			return _lo1;
		}

		public function set lo1(lo1 : int) : void
		{
			_lo1 = lo1;
		}
		
		public function toString():String 
		{
			return "SFF ver:"+this.hi + lo1 + lo2 + lo3;
		}
		
		public function get type():String
		{
			if(this.hi == 1 && this.lo1 == 0 && this.lo2 == 1 && this.lo3 == 0)
			{
				return SFF_V1;
			}
			else if(this.hi == 2 && this.lo1 == 0 && this.lo2 == 0 && this.lo3 == 0)
			{
				return SFF_V2;
			}
			return "";
		}
	}
}
